home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Scene 96
/
Scene 96 International Edition (Zyklop Software) (Disc 1) (1997).iso
/
intros
/
64k
/
revolt
/
sources
/
part5.as3
< prev
next >
Wrap
Text File
|
1996-01-25
|
5KB
|
323 lines
; w torusie zdelta na 92
jumps
.386p
CODE32 SEGMENT PARA PUBLIC USE32
ASSUME cs:CODE32, ds:CODE32
include design.mak
include pmode.inc
include timer.ext
include rotatem.ext
EXTRN sound :BYTE
EXTRN gold :BYTE
EXTRN stal :BYTE
PUBLIC part5
mama db 0
lii dd 0
make_me_happy PROC
lea esi,gold
call generate32env
mov widoczno₧ì,0
mov zdelta,800
mov angleX,0
mov angleY,0
mov angleZ,0
mov inc_xxx,0
mov inc_yyy,0
mov inc_zzz,0
mov d_x,160
mov d_y,100
lea edi,pixels
mov adr_pixels,edi
lea edi,faces
mov adr_faces,edi
mov number_p,number_of_points
mov number_f,number_of_faces
call calc_nor
mov ecx,number_of_faces/2
mov edi,adr_colors
gg: mov byte ptr [edi],128
mov byte ptr [edi+1],64 ;64
add edi,2
loop gg
mov byte ptr [edi],128
ret
make_me_happy ENDP
make_me_happy2 PROC
mov ecx,number_of_faces/2
mov edi,adr_colors
gwiozda: mov byte ptr [edi],0 ;128
mov byte ptr [edi+1],64 ;64
add edi,2
loop gwiozda
mov byte ptr [edi],0
ret
make_me_happy2 ENDP
make_me_happy22 PROC
mov ecx,number_of_faces/2
mov edi,adr_colors
gwio: mov byte ptr [edi],128 ;128
mov byte ptr [edi+1],128 ;64
add edi,2
loop gwio
mov byte ptr [edi],128
ret
make_me_happy22 ENDP
make_me_happy5 PROC
mov ecx,number_of_faces/2
mov edi,adr_colors
gwiozd: mov byte ptr [edi],0 ;128
mov byte ptr [edi+1],0 ;64
add edi,2
loop gwiozd
mov byte ptr [edi],0
ret
make_me_happy5 ENDP
make_me_happy4 PROC
mov ecx,number_of_faces/2
mov edi,adr_colors
gwiozda2: mov byte ptr [edi],0 ;128
mov byte ptr [edi+1],128 ;64
add edi,2
loop gwiozda2
mov byte ptr [edi],0
ret
make_me_happy4 ENDP
part5 PROC
lea esi,tÆo
@rlp edi,0a0000h
call copyEkran
mov ecx,16
iop1: push ecx
lea edi,pal5
mov bl,4
call pal_fadein10
pop ecx
loop iop1
call reset_ramki
call make_me_happy
mov d_x,350
pætla3:
cmp mama,0
je mam1
cmp mama,1
je mam22
jmp dddd
mam1:
cmp zdelta,150
jg zd11
mov zdelta,150
zd11:
cmp d_x,160
jl mam2
mov eax,ramki
add angleX,eax
add angleZ,eax
sub zdelta,eax
sub zdelta,eax
sub zdelta,eax
sub d_x,ax
jmp dddd
mam2: mov d_x,160
call pal_white
lea esi,pal5
call pal_set
mov mama,1
jmp dddd
mam22:
mov eax,ramki
add angleX,eax
add angleZ,eax
jmp dddd
dddd: call draw_torus
design2 0900h,kii2,pætla3
kii2:
lea esi,stal
call generate32env
mov byte ptr [edi],128
call pal_white
mov angleX,0
mov angleZ,0
mov widoczno₧ì,1
mov zdelta,129
call draw_torusIn
lea esi,pal5
call pal_set
mov mama,0
kii:
cmp mama,0
je tom1
cmp mama,1
je tom2
cmp mama,2
je tom3
jmp kih1
tom2: mov eax,ramki
add angleY,eax
add angleZ,eax
design2 0920h,iest2,kih1
iest2:
call make_me_happy2
call pal_white
call draw_torusIn
lea esi,pal5
mov mama,2
call pal_set
jmp kii
tom1:
mov eax,ramki
add angleY,eax
design2 0910h,iest1,kih1
iest1:
call make_me_happy4
mov mama,1
call pal_white
call draw_torusIn
lea esi,pal5
call pal_set
jmp kii
tom3:
mov eax,ramki
Sub angleY,eax
sub anglez,eax
design2 093fh,kig2,iest7
iest7:
kih1:
call draw_torusIn
in al,60h
cmp al,1
jne kii
kig2:
design 0a00h,mig1
mig1: call pal_white
lea esi,pal5
call pal_set
design 0a01h,mig2
mig2: call pal_white
lea esi,pal5
call pal_set
design 0a03h,mig3
mig3: call pal_white
lea esi,pal5
call pal_set
design 0a05h,mig4
mig4: call pal_white
call make_me_happy22
mov zdelta,200
call draw_torus
lea esi,pal5
call pal_set
; call make_me_happy5
mov widoczno₧ì,0
lea esi,gold
call generate32env
brach: ;chester ma udziaÆ to dlaczego nie Brach...
mov eax,ramki
add lii,eax
add lii,eax
add zdelta,eax
add zdelta,eax
add zdelta,eax
add angleX,eax
add angleY,eax
add angleZ,eax
cmp eax,2
jb tyy
shr eax,1
tyy:
add d_y,ax
add d_x,ax
call draw_torus ;b
design2 00a3fh,hhj,brach
hhj:
call pal_white
ret
part5 ENDP
draw_torus:
call reset_ramki
lea esi,tÆo
lea edi,screen
call copyEkran
call copyPoints
call rotatety
call _sort
call make_lightE
call drawFacesVcE
lea esi,screen
call ekran
ret
draw_torusb:
call reset_ramki
lea esi,tÆo
lea edi,screen
call copyEkran
call copyPoints
call rotatety
call _sort
call make_lightE
call drawFacesVcE
call blur
ret
draw_torusIn:
call reset_ramki
lea esi,tÆo
lea edi,screen
call copyEkran
call copyPoints
call rotatety
call _sort
call make_lightE
sub number_f,32
call drawFacesVcE
add number_f,32
lea esi,screen
call ekran
ret
pal5:
include part5.pal
include objects\tor350
include revolt.ext
CODE32 ENDS
END